State machines are systems that exist in any of a number of states, in which transitions between states are controlled by inputs (1). The next state of a state machine is determined not only by a particular input, but also by its current state. This state-dependent logic can be used to produce outputs that are dependent on the order of inputs, unlike in combinational logic circuits wherein the outputs are solely dependent on the current combination of inputs.